---
id: dbcontext-add-or-update
title: 9.7 新增或更新操作
sidebar_label: 9.7 新增或更新操作
---

## 9.7.1 新增或更新（不立即提交）

```cs
// ==== 同步操作 ====

// 示例一
repository.InsertOrUpdate(user);

// 示例二
user.InsertOrUpdate();

// ==== 异步操作 ====

// 示例一
await repository.InsertOrUpdateAsync(user);

// 示例二
await user.InsertOrUpdateAsync();
```

## 9.7.2 新增或更新（立即提交）

```cs
// ==== 同步操作 ====

// 示例一
repository.InsertOrUpdateNow(user);

// 示例二
user.InsertOrUpdateNow();

// ==== 异步操作 ====

// 示例一
await repository.InsertOrUpdateNowAsync(user);

// 示例二
await user.InsertOrUpdateNowAsync();
```

## 9.7.3 新增或更新部分列（不立即提交）

```cs
// ==== 同步操作 ====

// 示例一
repository.InsertOrUpdateInclude(user, u=>u.Name, u=>u.Age);

// 示例二
repository.InsertOrUpdateInclude(user, "Age", "Name");

// 示例三
repository.InsertOrUpdateInclude(user, new[] { u=>u.Name, u=>u.Age});

// 示例四
repository.InsertOrUpdateInclude(user, new[] {"Age", "Name"});

// 示例五
user.InsertOrUpdateInclude(u=>u.Name, u=>u.Age);

// 示例六
user.InsertOrUpdateInclude("Age", "Name");

// 示例七
user.InsertOrUpdateInclude(new[] { u=>u.Name, u=>u.Age});

// 示例八
user.InsertOrUpdateInclude(new[] {"Age", "Name"});

// ==== 异步操作 ====

// 示例一
await repository.InsertOrUpdateIncludeAsync(user, u=>u.Name, u=>u.Age);

// 示例二
await repository.InsertOrUpdateIncludeAsync(user, "Age", "Name");

// 示例三
await repository.InsertOrUpdateIncludeAsync(user, new[] { u=>u.Name, u=>u.Age});

// 示例四
await repository.InsertOrUpdateIncludeAsync(user, new[] {"Age", "Name"});

// 示例五
await user.InsertOrUpdateIncludeAsync(u=>u.Name, u=>u.Age);

// 示例六
await user.InsertOrUpdateIncludeAsync("Age", "Name");

// 示例七
await user.InsertOrUpdateIncludeAsync(new[] { u=>u.Name, u=>u.Age});

// 示例八
await user.InsertOrUpdateIncludeAsync(new[] {"Age", "Name"});
```

## 9.7.4 新增或更新部分列（立即提交）

```cs
// ==== 同步操作 ====

// 示例一
repository.InsertOrUpdateIncludeNow(user, u=>u.Name, u=>u.Age);

// 示例二
repository.InsertOrUpdateIncludeNow(user, "Age", "Name");

// 示例三
repository.InsertOrUpdateIncludeNow(user, new[] { u=>u.Name, u=>u.Age});

// 示例四
repository.InsertOrUpdateIncludeNow(user, new[] {"Age", "Name"});

// 示例五
user.InsertOrUpdateIncludeNow(u=>u.Name, u=>u.Age);

// 示例六
user.InsertOrUpdateIncludeNow("Age", "Name");

// 示例七
user.InsertOrUpdateIncludeNow(new[] { u=>u.Name, u=>u.Age});

// 示例八
user.InsertOrUpdateIncludeNow(new[] {"Age", "Name"});

// ==== 异步操作 ====

// 示例一
await repository.InsertOrUpdateIncludeNowAsync(user, u=>u.Name, u=>u.Age);

// 示例二
await repository.InsertOrUpdateIncludeNowAsync(user, "Age", "Name");

// 示例三
await repository.InsertOrUpdateIncludeNowAsync(user, new[] { u=>u.Name, u=>u.Age});

// 示例四
await repository.InsertOrUpdateIncludeNowAsync(user, new[] {"Age", "Name"});

// 示例五
await user.InsertOrUpdateIncludeNowAsync(u=>u.Name, u=>u.Age);

// 示例六
await user.InsertOrUpdateIncludeNowAsync("Age", "Name");

// 示例七
await user.InsertOrUpdateIncludeNowAsync(new[] { u=>u.Name, u=>u.Age});

// 示例八
await user.InsertOrUpdateIncludeNowAsync(new[] {"Age", "Name"});
```

## 9.7.5 新增或更新排除特定列（不立即提交）

```cs
// ==== 同步操作 ====

// 示例一
repository.InsertOrUpdateExclude(user, u=>u.Name, u=>u.Age);

// 示例二
repository.InsertOrUpdateExclude(user, "Age", "Name");

// 示例三
repository.InsertOrUpdateExclude(user, new[] { u=>u.Name, u=>u.Age});

// 示例四
repository.InsertOrUpdateExclude(user, new[] {"Age", "Name"});

// 示例五
user.InsertOrUpdateExclude(u=>u.Name, u=>u.Age);

// 示例六
user.InsertOrUpdateExclude("Age", "Name");

// 示例七
user.InsertOrUpdateExclude(new[] { u=>u.Name, u=>u.Age});

// 示例八
user.InsertOrUpdateExclude(new[] {"Age", "Name"});

// ==== 异步操作 ====

// 示例一
await repository.InsertOrUpdateExcludeAsync(user, u=>u.Name, u=>u.Age);

// 示例二
await repository.InsertOrUpdateExcludeAsync(user, "Age", "Name");

// 示例三
await repository.InsertOrUpdateExcludeAsync(user, new[] { u=>u.Name, u=>u.Age});

// 示例四
await repository.InsertOrUpdateExcludeAsync(user, new[] {"Age", "Name"});

// 示例五
await user.InsertOrUpdateExcludeAsync(u=>u.Name, u=>u.Age);

// 示例六
await user.InsertOrUpdateExcludeAsync("Age", "Name");

// 示例七
await user.InsertOrUpdateExcludeAsync(new[] { u=>u.Name, u=>u.Age});

// 示例八
await user.InsertOrUpdateExcludeAsync(new[] {"Age", "Name"});
```

## 9.7.6 新增或更新排除特定列（立即提交）

```cs
// ==== 同步操作 ====

// 示例一
repository.InsertOrUpdateExcludeNow(user, u=>u.Name, u=>u.Age);

// 示例二
repository.InsertOrUpdateExcludeNow(user, "Age", "Name");

// 示例三
repository.InsertOrUpdateExcludeNow(user, new[] { u=>u.Name, u=>u.Age});

// 示例四
repository.InsertOrUpdateExcludeNow(user, new[] {"Age", "Name"});

// 示例五
user.InsertOrUpdateExcludeNow(u=>u.Name, u=>u.Age);

// 示例六
user.InsertOrUpdateExcludeNow("Age", "Name");

// 示例七
user.InsertOrUpdateExcludeNow(new[] { u=>u.Name, u=>u.Age});

// 示例八
user.InsertOrUpdateExcludeNow(new[] {"Age", "Name"});

// ==== 异步操作 ====

// 示例一
await repository.InsertOrUpdateExcludeNowAsync(user, u=>u.Name, u=>u.Age);

// 示例二
await repository.InsertOrUpdateExcludeNowAsync(user, "Age", "Name");

// 示例三
await repository.InsertOrUpdateExcludeNowAsync(user, new[] { u=>u.Name, u=>u.Age});

// 示例四
await repository.InsertOrUpdateExcludeNowAsync(user, new[] {"Age", "Name"});

// 示例五
await user.InsertOrUpdateExcludeNowAsync(u=>u.Name, u=>u.Age);

// 示例六
await user.InsertOrUpdateExcludeNowAsync("Age", "Name");

// 示例七
await user.InsertOrUpdateExcludeNowAsync(new[] { u=>u.Name, u=>u.Age});

// 示例八
await user.InsertOrUpdateExcludeNowAsync(new[] {"Age", "Name"});
```

## 9.5.7 反馈与建议

:::note 与我们交流

给 Fur 提 [Issue](https://gitee.com/monksoul/Fur/issues/new?issue)。

:::
